﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum УсловияПоступленияИВыбытияИмущества
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"38880fac-4052-4f76-8acd-a377798218dd\", \"Представление\":\"ЗаПлату\"}")]
		ЗаПлату = 0,//За плату
		[EnumMember(Value = "{\"Ссылка\":\"ad671ee5-9f75-416c-979c-699fa3a0ed0b\", \"Представление\":\"Возврат\"}")]
		Возврат = 1,
		[EnumMember(Value = "{\"Ссылка\":\"a61a9d44-9b09-43b2-b87a-5c72af89f501\", \"Представление\":\"ПоДоговоруЗайма\"}")]
		ПоДоговоруЗайма = 2,//По договору займа
		[EnumMember(Value = "{\"Ссылка\":\"847d1050-f0aa-4784-bdeb-f76cbc07ebf8\", \"Представление\":\"Товароообмен\"}")]
		Товароообмен = 3,
		[EnumMember(Value = "{\"Ссылка\":\"e1c13234-9915-4424-934a-661e5be1b56b\", \"Представление\":\"ВкладВУставныйКапитал\"}")]
		ВкладВУставныйКапитал = 4,//Вклад в уставный капитал
		[EnumMember(Value = "{\"Ссылка\":\"4dda47ab-bca4-43ce-a73c-5f51574d3a66\", \"Представление\":\"ВкладВПростоеТоварищество\"}")]
		ВкладВПростоеТоварищество = 5,//Вклад в простое товарищество
		[EnumMember(Value = "{\"Ссылка\":\"41b2243e-41fb-47f6-b570-b3d6066b65a9\", \"Представление\":\"Недостачи\"}")]
		Недостачи = 6,//Недостачи и потери
		[EnumMember(Value = "{\"Ссылка\":\"9fc0bc9c-ade5-4260-ae1a-08260abc7808\", \"Представление\":\"СписаниеИмущества\"}")]
		СписаниеИмущества = 7,//Списание имущества за непригодностью
		[EnumMember(Value = "{\"Ссылка\":\"ad8360a3-84d7-4d15-a3e2-229db3f7fb58\", \"Представление\":\"ПередачаОбособленномуПодразделению\"}")]
		ПередачаОбособленномуПодразделению = 8,//Передача обособленному подразделению
		[EnumMember(Value = "{\"Ссылка\":\"cd1e5d3f-d0f0-489e-9b32-9f5abdd58460\", \"Представление\":\"Другие\"}")]
		Другие = 9,//Другие существенные условия
		[EnumMember(Value = "{\"Ссылка\":\"b33710be-6052-4867-9f33-7233e97284bb\", \"Представление\":\"НеОблагается\"}")]
		НеОблагается = 10,//По деятельности не облагаемой налогом на прибыль
	}
	public static partial class УсловияПоступленияИВыбытияИмущества_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ЗаПлату = new Guid("77a3cd8a-8279-dd18-4f76-405238880fac");//За плату
		public static readonly Guid Возврат = new Guid("9f699c97-a0a3-0bed-416c-9f75ad671ee5");
		public static readonly Guid ПоДоговоруЗайма = new Guid("725c7ab8-89af-01f5-43b2-9b09a61a9d44");//По договору займа
		public static readonly Guid Товароообмен = new Guid("6cf7ebbd-07bc-f8eb-4784-f0aa847d1050");
		public static readonly Guid ВкладВУставныйКапитал = new Guid("1e664a93-e15b-6bb5-4424-9915e1c13234");//Вклад в уставный капитал
		public static readonly Guid ВкладВПростоеТоварищество = new Guid("515f3ca7-4d57-663a-43ce-bca44dda47ab");//Вклад в простое товарищество
		public static readonly Guid Недостачи = new Guid("d6b370b5-6b06-a965-47f6-41fb41b2243e");//Недостачи и потери
		public static readonly Guid СписаниеИмущества = new Guid("26081aae-bc0a-0878-4260-ade59fc0bc9c");//Списание имущества за непригодностью
		public static readonly Guid ПередачаОбособленномуПодразделению = new Guid("9d22e2a3-f7b3-58fb-4d15-84d7ad8360a3");//Передача обособленному подразделению
		public static readonly Guid Другие = new Guid("5a9f329b-d5bd-6084-489e-d0f0cd1e5d3f");//Другие существенные условия
		public static readonly Guid НеОблагается = new Guid("3372339f-72e9-bb84-4867-6052b33710be");//По деятельности не облагаемой налогом на прибыль
		public static УсловияПоступленияИВыбытияИмущества Получить(this УсловияПоступленияИВыбытияИмущества Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static УсловияПоступленияИВыбытияИмущества Получить(this УсловияПоступленияИВыбытияИмущества Значение, Guid Ссылка)
		{
			if(Ссылка == ЗаПлату)
			{
				return УсловияПоступленияИВыбытияИмущества.ЗаПлату;
			}
			else if(Ссылка == Возврат)
			{
				return УсловияПоступленияИВыбытияИмущества.Возврат;
			}
			else if(Ссылка == ПоДоговоруЗайма)
			{
				return УсловияПоступленияИВыбытияИмущества.ПоДоговоруЗайма;
			}
			else if(Ссылка == Товароообмен)
			{
				return УсловияПоступленияИВыбытияИмущества.Товароообмен;
			}
			else if(Ссылка == ВкладВУставныйКапитал)
			{
				return УсловияПоступленияИВыбытияИмущества.ВкладВУставныйКапитал;
			}
			else if(Ссылка == ВкладВПростоеТоварищество)
			{
				return УсловияПоступленияИВыбытияИмущества.ВкладВПростоеТоварищество;
			}
			else if(Ссылка == Недостачи)
			{
				return УсловияПоступленияИВыбытияИмущества.Недостачи;
			}
			else if(Ссылка == СписаниеИмущества)
			{
				return УсловияПоступленияИВыбытияИмущества.СписаниеИмущества;
			}
			else if(Ссылка == ПередачаОбособленномуПодразделению)
			{
				return УсловияПоступленияИВыбытияИмущества.ПередачаОбособленномуПодразделению;
			}
			else if(Ссылка == Другие)
			{
				return УсловияПоступленияИВыбытияИмущества.Другие;
			}
			else if(Ссылка == НеОблагается)
			{
				return УсловияПоступленияИВыбытияИмущества.НеОблагается;
			}
			return УсловияПоступленияИВыбытияИмущества.ПустаяСсылка;
		}
		public static byte[] Ключ(this УсловияПоступленияИВыбытияИмущества Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this УсловияПоступленияИВыбытияИмущества Значение)
		{
			switch (Значение)
			{
				case УсловияПоступленияИВыбытияИмущества.ЗаПлату: return ЗаПлату;
				case УсловияПоступленияИВыбытияИмущества.Возврат: return Возврат;
				case УсловияПоступленияИВыбытияИмущества.ПоДоговоруЗайма: return ПоДоговоруЗайма;
				case УсловияПоступленияИВыбытияИмущества.Товароообмен: return Товароообмен;
				case УсловияПоступленияИВыбытияИмущества.ВкладВУставныйКапитал: return ВкладВУставныйКапитал;
				case УсловияПоступленияИВыбытияИмущества.ВкладВПростоеТоварищество: return ВкладВПростоеТоварищество;
				case УсловияПоступленияИВыбытияИмущества.Недостачи: return Недостачи;
				case УсловияПоступленияИВыбытияИмущества.СписаниеИмущества: return СписаниеИмущества;
				case УсловияПоступленияИВыбытияИмущества.ПередачаОбособленномуПодразделению: return ПередачаОбособленномуПодразделению;
				case УсловияПоступленияИВыбытияИмущества.Другие: return Другие;
				case УсловияПоступленияИВыбытияИмущества.НеОблагается: return НеОблагается;
			}
			return Guid.Empty;
		}
	}
}